home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK1.toast / Development Kits (Disc 1) / QuickDraw 3D / Development / Interfaces / QD3DPascalInterfaces / QD3DTransform.p < prev    next >
Encoding:
Text File  |  1996-11-15  |  9.4 KB  |  202 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QD3DTransform.p
  3.  
  4.      Contains:    Transform routines                                                 
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.0.6
  7.                  Release:    Universal Interfaces 2.1.5d1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT QD3DTransform;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __QD3DTRANSFORM__}
  28. {$SETC __QD3DTRANSFORM__ := 1}
  29.  
  30. {$I+}
  31. {$SETC QD3DTransformIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __QD3D__}
  35. {$I QD3D.p}
  36. {$ENDC}
  37.  
  38. {$PUSH}
  39. {$ALIGN POWER}
  40. {$LibExport+}
  41.  
  42. {
  43. *****************************************************************************
  44.  **                                                                             **
  45.  **                            Transform Routines                                 **
  46.  **                                                                             **
  47.  ****************************************************************************
  48. }
  49. FUNCTION Q3Transform_GetType(transform: TQ3TransformObject): TQ3ObjectType; C;
  50. FUNCTION Q3Transform_GetMatrix(trasform: TQ3TransformObject; VAR matrix: TQ3Matrix4x4): TQ3Matrix4x4Ptr; C;
  51. FUNCTION Q3Transform_Submit(transform: TQ3TransformObject; view: TQ3ViewObject): TQ3Status; C;
  52. {
  53. *****************************************************************************
  54.  **                                                                             **
  55.  **                            MatrixTransform Routines                         **
  56.  **                                                                             **
  57.  ****************************************************************************
  58. }
  59. FUNCTION Q3MatrixTransform_New({CONST}VAR matrix: TQ3Matrix4x4): TQ3TransformObject; C;
  60. FUNCTION Q3MatrixTransform_Submit({CONST}VAR matrix: TQ3Matrix4x4; view: TQ3ViewObject): TQ3Status; C;
  61. FUNCTION Q3MatrixTransform_Set(transform: TQ3TransformObject; {CONST}VAR matrix: TQ3Matrix4x4): TQ3Status; C;
  62. FUNCTION Q3MatrixTransform_Get(transform: TQ3TransformObject; VAR matrix: TQ3Matrix4x4): TQ3Status; C;
  63. {
  64. *****************************************************************************
  65.  **                                                                             **
  66.  **                            RotateTransform Data                             **
  67.  **                                                                             **
  68.  ****************************************************************************
  69. }
  70.  
  71. TYPE
  72.     TQ3RotateTransformDataPtr = ^TQ3RotateTransformData;
  73.     TQ3RotateTransformData = RECORD
  74.         axis:                    TQ3Axis;
  75.         radians:                Single;
  76.     END;
  77.  
  78. {
  79. *****************************************************************************
  80.  **                                                                             **
  81.  **                            RotateTransform Routines                         **
  82.  **                                                                             **
  83.  ****************************************************************************
  84. }
  85. FUNCTION Q3RotateTransform_New({CONST}VAR data: TQ3RotateTransformData): TQ3TransformObject; C;
  86. FUNCTION Q3RotateTransform_Submit({CONST}VAR data: TQ3RotateTransformData; view: TQ3ViewObject): TQ3Status; C;
  87. FUNCTION Q3RotateTransform_SetData(transform: TQ3TransformObject; {CONST}VAR data: TQ3RotateTransformData): TQ3Status; C;
  88. FUNCTION Q3RotateTransform_GetData(transform: TQ3TransformObject; VAR data: TQ3RotateTransformData): TQ3Status; C;
  89. FUNCTION Q3RotateTransform_SetAxis(transform: TQ3TransformObject; axis: TQ3Axis): TQ3Status; C;
  90. FUNCTION Q3RotateTransform_SetAngle(transform: TQ3TransformObject; radians: Single): TQ3Status; C;
  91. FUNCTION Q3RotateTransform_GetAxis(renderable: TQ3TransformObject; VAR axis: TQ3Axis): TQ3Status; C;
  92. FUNCTION Q3RotateTransform_GetAngle(transform: TQ3TransformObject; VAR radians: Single): TQ3Status; C;
  93. {
  94. *****************************************************************************
  95.  **                                                                             **
  96.  **                    RotateAboutPointTransform Data                             **
  97.  **                                                                             **
  98.  ****************************************************************************
  99. }
  100.  
  101. TYPE
  102.     TQ3RotateAboutPointTransformDataPtr = ^TQ3RotateAboutPointTransformData;
  103.     TQ3RotateAboutPointTransformData = RECORD
  104.         axis:                    TQ3Axis;
  105.         radians:                Single;
  106.         about:                    TQ3Point3D;
  107.     END;
  108.  
  109. {
  110. *****************************************************************************
  111.  **                                                                             **
  112.  **                    RotateAboutPointTransform Routines                         **
  113.  **                                                                             **
  114.  ****************************************************************************
  115. }
  116. FUNCTION Q3RotateAboutPointTransform_New({CONST}VAR data: TQ3RotateAboutPointTransformData): TQ3TransformObject; C;
  117. FUNCTION Q3RotateAboutPointTransform_Submit({CONST}VAR data: TQ3RotateAboutPointTransformData; view: TQ3ViewObject): TQ3Status; C;
  118. FUNCTION Q3RotateAboutPointTransform_SetData(transform: TQ3TransformObject; {CONST}VAR data: TQ3RotateAboutPointTransformData): TQ3Status; C;
  119. FUNCTION Q3RotateAboutPointTransform_GetData(transform: TQ3TransformObject; VAR data: TQ3RotateAboutPointTransformData): TQ3Status; C;
  120. FUNCTION Q3RotateAboutPointTransform_SetAxis(transform: TQ3TransformObject; axis: TQ3Axis): TQ3Status; C;
  121. FUNCTION Q3RotateAboutPointTransform_GetAxis(transform: TQ3TransformObject; VAR axis: TQ3Axis): TQ3Status; C;
  122. FUNCTION Q3RotateAboutPointTransform_SetAngle(transform: TQ3TransformObject; radians: Single): TQ3Status; C;
  123. FUNCTION Q3RotateAboutPointTransform_GetAngle(transform: TQ3TransformObject; VAR radians: Single): TQ3Status; C;
  124. FUNCTION Q3RotateAboutPointTransform_SetAboutPoint(transform: TQ3TransformObject; {CONST}VAR about: TQ3Point3D): TQ3Status; C;
  125. FUNCTION Q3RotateAboutPointTransform_GetAboutPoint(transform: TQ3TransformObject; VAR about: TQ3Point3D): TQ3Status; C;
  126. {
  127. *****************************************************************************
  128.  **                                                                             **
  129.  **                    RotateAboutAxisTransform Data                             **
  130.  **                                                                             **
  131.  ****************************************************************************
  132. }
  133.  
  134. TYPE
  135.     TQ3RotateAboutAxisTransformDataPtr = ^TQ3RotateAboutAxisTransformData;
  136.     TQ3RotateAboutAxisTransformData = RECORD
  137.         origin:                    TQ3Point3D;
  138.         orientation:            TQ3Vector3D;
  139.         radians:                Single;
  140.     END;
  141.  
  142. {
  143. *****************************************************************************
  144.  **                                                                             **
  145.  **                    RotateAboutAxisTransform Routines                         **
  146.  **                                                                             **
  147.  ****************************************************************************
  148. }
  149. FUNCTION Q3RotateAboutAxisTransform_New({CONST}VAR data: TQ3RotateAboutAxisTransformData): TQ3TransformObject; C;
  150. FUNCTION Q3RotateAboutAxisTransform_Submit({CONST}VAR data: TQ3RotateAboutAxisTransformData; view: TQ3ViewObject): TQ3Status; C;
  151. FUNCTION Q3RotateAboutAxisTransform_SetData(transform: TQ3TransformObject; {CONST}VAR data: TQ3RotateAboutAxisTransformData): TQ3Status; C;
  152. FUNCTION Q3RotateAboutAxisTransform_GetData(transform: TQ3TransformObject; VAR data: TQ3RotateAboutAxisTransformData): TQ3Status; C;
  153. FUNCTION Q3RotateAboutAxisTransform_SetOrientation(transform: TQ3TransformObject; {CONST}VAR axis: TQ3Vector3D): TQ3Status; C;
  154. FUNCTION Q3RotateAboutAxisTransform_GetOrientation(transform: TQ3TransformObject; VAR axis: TQ3Vector3D): TQ3Status; C;
  155. FUNCTION Q3RotateAboutAxisTransform_SetAngle(transform: TQ3TransformObject; radians: Single): TQ3Status; C;
  156. FUNCTION Q3RotateAboutAxisTransform_GetAngle(transform: TQ3TransformObject; VAR radians: Single): TQ3Status; C;
  157. FUNCTION Q3RotateAboutAxisTransform_SetOrigin(transform: TQ3TransformObject; {CONST}VAR origin: TQ3Point3D): TQ3Status; C;
  158. FUNCTION Q3RotateAboutAxisTransform_GetOrigin(transform: TQ3TransformObject; VAR origin: TQ3Point3D): TQ3Status; C;
  159. {
  160. *****************************************************************************
  161.  **                                                                             **
  162.  **                            ScaleTransform Routines                             **
  163.  **                                                                             **
  164.  ****************************************************************************
  165. }
  166. FUNCTION Q3ScaleTransform_New({CONST}VAR scale: TQ3Vector3D): TQ3TransformObject; C;
  167. FUNCTION Q3ScaleTransform_Submit({CONST}VAR scale: TQ3Vector3D; view: TQ3ViewObject): TQ3Status; C;
  168. FUNCTION Q3ScaleTransform_Set(transform: TQ3TransformObject; {CONST}VAR scale: TQ3Vector3D): TQ3Status; C;
  169. FUNCTION Q3ScaleTransform_Get(transform: TQ3TransformObject; VAR scale: TQ3Vector3D): TQ3Status; C;
  170. {
  171. *****************************************************************************
  172.  **                                                                             **
  173.  **                            TranslateTransform Routines                         **
  174.  **                                                                             **
  175.  ****************************************************************************
  176. }
  177. FUNCTION Q3TranslateTransform_New({CONST}VAR translate: TQ3Vector3D): TQ3TransformObject; C;
  178. FUNCTION Q3TranslateTransform_Submit({CONST}VAR translate: TQ3Vector3D; view: TQ3ViewObject): TQ3Status; C;
  179. FUNCTION Q3TranslateTransform_Set(transform: TQ3TransformObject; {CONST}VAR translate: TQ3Vector3D): TQ3Status; C;
  180. FUNCTION Q3TranslateTransform_Get(transform: TQ3TransformObject; VAR translate: TQ3Vector3D): TQ3Status; C;
  181. {
  182. *****************************************************************************
  183.  **                                                                             **
  184.  **                            QuaternionTransform Routines                     **
  185.  **                                                                             **
  186.  ****************************************************************************
  187. }
  188. FUNCTION Q3QuaternionTransform_New({CONST}VAR quaternion: TQ3Quaternion): TQ3TransformObject; C;
  189. FUNCTION Q3QuaternionTransform_Submit({CONST}VAR quaternion: TQ3Quaternion; view: TQ3ViewObject): TQ3Status; C;
  190. FUNCTION Q3QuaternionTransform_Set(transform: TQ3TransformObject; {CONST}VAR quaternion: TQ3Quaternion): TQ3Status; C;
  191. FUNCTION Q3QuaternionTransform_Get(transform: TQ3TransformObject; VAR quaternion: TQ3Quaternion): TQ3Status; C;
  192. {$ALIGN RESET}
  193. {$POP}
  194.  
  195. {$SETC UsingIncludes := QD3DTransformIncludes}
  196.  
  197. {$ENDC} {__QD3DTRANSFORM__}
  198.  
  199. {$IFC NOT UsingIncludes}
  200.  END.
  201. {$ENDC}
  202.